package com.choosefine.it.worker.dao;

import java.util.List;
import java.util.Map;

import com.choosefine.it.worker.model.WorkerSalaryMonth;
import com.choosefine.it.worker.vo.WorkerSalaryMonthVO;
import com.github.pagehelper.Page;

public interface WorkerSalaryMonthMapper {

    
    /**
     * 11.28 dzq 根据关系查找用户某时间段内应收款，以收款，工总数
     * @param map
     * @return
     */
    Map<String, Object> selectCountByRelation(Map<String, Object> map);
    /**
     * 11.29 dzq 根据班组id查找用户某时间段内应收款，以收款，工总数
     * @param map selectCountByTeamId
     * @return 
     */
    Map<String, Object> selectWorkerAmountSumByTeamId(Map<String, Object> map);
    /**
     * 11.30 dzq 工人工资月表，根据teamId查找其下所有工人工资信息
     * @param map
     * @return
     */
    Page<WorkerSalaryMonthVO> selectWorkerMonthByTeamId(Map<String, Object> map);



    
    /**
     * 根据考勤日，每位员工、所在的班组、统计月考勤（统计之后 ，修改数据，得不到统计）
     * 
     * @auth liaozhanggen 2016-11-29 下午3:38:16
     */
    String countWorkAttendanceCalc(Map<String, String> param);
    
    /**
     * 根据考勤日，每位员工、所在的班组、统计(可实时统计当月)考勤
     * 
     * @auth liaozhanggen 2016-11-30 上午11:54:09
     */
    String countWorkAttendanceCurrentMonthCalc(Map<String, String> param);
    
    /**
     * 根据 当前员工及所在的班组关系主键，查询已经汇总出的月列表明细
     * 
     * @param
     * 			workerTeamRelationId	所在的班组关系主键
     * 
     * @auth liaozhanggen 2016-12-2 下午2:17:40
     */
    List<WorkerSalaryMonth> queryWorkerSalaryMonths(Map<String, String> param);
    
    /**
     * 查询出指定的班组及工人的每月小计
     * 
     * @author liaozhanggen 2016年12月29日
     */
    Page<Map> queryEveryMonthsByRelationId(Map<String, Object> param);

    Map selectTeamProjectCompany(Map<String, Object> param);//查询公司-项目-班组

    Map selectMoney(Map<String, Object> param);//查询应付已付未付
}
